As computing devices become more versatile and ubiquitous, the demands on their performance increase. Users expect a computer to perform a variety of functions at a high speed without consuming excessive amounts of power. Furthermore, many computing devices are portable and rely on a battery for power. Battery life may limit the use of a portable device when another power source is not available. With the expansion of processing capability of computer hardware, power consumption of the computing device is a growing concern.
Most computers, including portable and hand-held computers, are connected to one or more networks. A computer connects to a network through a network interface. A network interface in the computer typically includes a physical network interface device and a software driver that provides a programming interface to the physical network interface device. For example, a network interface card (NIC) may act as a network interface in a computer. The NIC participates both in transmitting and receiving a wide range of data over a network.
When the NIC receives a packet over a network, the NIC may notify processing circuitry of the computer of the packet. If the computer is operating in a low power mode (e.g., in a sleep mode) when the packet is received, a signal may be generated to wake up the computer so that it can then process the packet.